#ifndef Mesh_H
#define Mesh_H

#include "Face.h"
#include "Objeto3D.h"
#include <math.h>
#include <gl\gl.h>
#include <gl\glu.h>

#include "VectorPoint3D.h"

class Mesh:public Objeto3D {
    protected:
        //nV means the number of Vertex in the Mesh. nN means the number of
        //normals in the Mesh. nC means the number of faces in the Mesh.
        int nV,nN,nF;

        //Vertex array
        VectorPoint3D** vertexList;

        //Vertex normal
        VectorPoint3D** normal;

        //Vertex faces
        Face** face;

    private:
        void dibujarMalla(bool wire);
        
    public:
        Mesh();
        virtual ~Mesh();

        //Accesors
        int getnC( );
        int getnV( );
        int getnF( );

        void dibujar();

        VectorPoint3D* newellMethod ( VectorPoint3D** puntos , int s );
        //VectorPoint3D* calculateNormals();
};

#endif

